PAMELA: A Proto-pattern for Rapidly Delivered, Runtime Extensible Systems

نویسنده

  • Graham McLeod
چکیده

The paper describes a proto-pattern for a system architecture which facilitates very rapid development and extension of an application. The overall pattern has three major components: Overall Architecture, Process Patterns for standard editing, viewing and navigation, and Meta Data patterns for knowledge storage. The architecture level pattern uses meta-data held explicitly in a persistent store and accessible at run time to customize process patterns implemented in an interpreted language, rendering them executable. The meta-data structure in turn uses patterns which facilitate extensible data structures and relationships. The use of the proto-pattern in the design of a commercial knowledge management product illustrates its potential. Benefits are highlighted and areas for further work indicated. 1. Problem Statement Business pressures and unclear or rapidly changing requirements require systems that can be developed very rapidly and extended with minimal delay. Conventional development techniques appear to be inadequate in addressing this problem. Object oriented techniques have long held much promise and have provided benefits, but many organizations are still frustrated by slow, expensive development which simply does not meet their business needs. [Taylor, 1995]. The advent of the Internet and e-Commerce has simply exacerbated the position. Applications are increasingly mission critical, having to operate 24 hours per day, 365 days a year in a global economy that does not pause. There is thus a need for very high reliability and availability in the systems produced. 2. Previous Approaches Some of the approaches already used to speed development are listed below, with a discussion of their effectiveness. High level languages assist by allowing developers to work at a higher level of abstraction. Figures from [Capers Jones, 1997] indicate that language level is a major determinant of developer productivity. Some researchers, e.g. Taylor [1995] have proposed the ideal of a language at a business domain level, where users can specify requirements in their own terms Use of class libraries has certainly helped the developer community to reuse code and save effort in the implementation of commonly required facilities. This has achieved much success in the areas of graphical user interfaces (GUIs), relational database and complex internal data structures (e.g. Collections). The success of Java in the marketplace is largely due to the provision of an increasingly rich environment, delivered in the form of Java classes. Class library proliferation to support business objects has been less successful, although the [OMG] and [IBM] have made significant attempts in this direction Components have been very successful at the developer level, in much the same way as class libraries. There are vast component libraries available for C++, Visual Basic, Delphi, Java and Smalltalk. Again, these primarily address technical aspects, such as GUI, collections, communications, database access and the like Application Generators and CASE Tools aim to take models and turn them rapidly into reliable executable code. While there have been some seminal successes, the general experience is that these

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Extensible Technology-Agnostic Runtime Verification

With numerous specialised technologies available to industry, it has become increasingly frequent for computer systems to be composed of heterogeneous components built over, and using, different technologies and languages. While this enables developers to use the appropriate technologies for specific contexts, it becomes more challenging to ensure the correctness of the overall system. In this ...

متن کامل

SONAR: System Optimization and Navigation with Aspects at Runtime

Traditional system optimization and navigation techniques, based on static system structure and static instrumentation, are not suitable for understanding and handling today's complex, distributed and dynamic systems at runtime. This paper introduces an approach we call SONAR (System Optimization and Navigation with Aspects at Runtime). Through a combination of Extensible Markup Language (XML),...

متن کامل

Flexible and Extensible Runtime Verification for Java

Runtime verification validates the correctness of a program’s execution trace. Much work has been done on improving the expressiveness and efficiency of runtime verification. However, current approaches require static deployment of the verification logic and are often restricted to a limited set of events that can be captured and analyzed, hindering the adoption of runtime verification in produ...

متن کامل

Global Extensible Open Power Manager: A Vehicle for HPC Community Collaboration on Co-Designed Energy Management Solutions

Performance of future large-scale HPC systems will be limited by costs associated with scaling power. Some HPC centers are reaching the limits of their existent site power delivery infrastructure and are facing prohibitive upgrade costs. Others are reaching budgetary limits on their energy operating costs. Without a breakthrough in energy efficiency, the HPC industry may fail to maintain histor...

متن کامل

Plugin-Based Systems with Self-Organized Hierarchical Presentation

Plugin-based applications can be dynamically extended at runtime. This leads to highly extensible systems on the one hand, but structuring the representation of plugins is difficult on the other hand. Often plugins are represented in graphical user interfaces (e. g. in menu structures) which are generated at runtime. But the kernel does not have—and may not have— any knowledge of the participat...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2001